import pandas as pd

# 读取Excel文件（假设数据在第一个工作表）
try:
    df = pd.read_excel('F:\Result_032201.xlsx', sheet_name=2)  # 网页1[1,6](@ref)
except FileNotFoundError:
    print("错误：文件路径不存在，请检查excel01.xlsx是否在当前目录")
    exit()

# 分组并转换为集合字典
group_dict = df.groupby('guard_belong')['uid'].agg(set).to_dict()  # 网页1[1](@ref)
groups = sorted(group_dict.keys())

# 初始化空矩阵
matrix = pd.DataFrame(0, index=groups, columns=groups)  # 网页1[1](@ref)

# 计算两两交集数量
for i in groups:
    for j in groups:
        if i != j:
            # 计算集合交集长度
            intersection = len(group_dict[i] & group_dict[j])  # 网页1[1](@ref)
            matrix.loc[i, j] = intersection

# 保存结果到新Excel文件
matrix.to_excel('overlap_matrix.xlsx', index=True)  # 网页3[3,6](@ref)
print("矩阵已生成并保存为overlap_matrix.xlsx")

# 可选：打印矩阵预览
print("\n矩阵预览：")
print(matrix)